Manual sewing of parts is slow, expensive, and not always uniform, which makes it especially unappealing for mass production applications such as sewing together leather or vinyl material and foam rubber backing for automobile seats. One attempt at automating the sewing process is quite complex as it employs a three axis robotic system that controls the movement of the parts in the x, y and theta positions as well as the sewing machine speed. One shortcoming of such a system is that it cannot easily accommodate even minor variations in part size. This is so because the parts to be sewn are moved through the sewing machine on a predetermined path that has been established in a prior learning mode: there is no sensor feedback to adjust for variations in the part shape or size or changes in operating conditions. Typically, in such systems, the presser feet and feed mechanisms of the sewing machine must be disconnected to avoid conflict with the predetermined course being executed.